package com.ctshk.rpc.goods.service;

import com.alibaba.fastjson.JSONObject;
import com.ctshk.rpc.goods.dto.htmlFive.CommodityAllListDTO;
import com.ctshk.rpc.goods.dto.htmlFive.HtmlFiveCommodityClassificationAllLevelListDTO;

import java.time.LocalDateTime;
import java.util.List;

/**
 * <p>
 * H5端-商品模块 服务类
 * </p>
 *
 * @author 姜斌文
 * @since 2021-04-13
 */
public interface IHtmlFiveCommodityService {
    /**
     * 查询一级以及子分类名称列表
     * @param now 获取>=指定的日期时间数据
     * @return 父子级分类名称集合列表
     */
    List<HtmlFiveCommodityClassificationAllLevelListDTO> findClassificationByAllLevel(LocalDateTime now);

    /**
     * 根据商品ID查询商品明细,有缓存时，优先返回缓存数据，缓存有效期7天
     * @param commodityId 商品Id
     * @return 商品返回明细结构体
     */
    JSONObject findCommodityDetailedByCommodityId(Long commodityId);

    /**
     * 获取全部商品列表信息
     * @param lastNow 获取>=指定时间的商品列表
     * @return 商品集合列表
     */
    List<CommodityAllListDTO> findCommodityAllList(LocalDateTime lastNow);

    /**
     * 根据商品ID查询属性列表数据
     * @param id 商品ID
     * @return
     */
    JSONObject findCommodityAttributesListById(Long id);
}
